]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
switcherPopup: Implement functions to add and remove accessible states
authorJonas Dreßler <verdre@v0yd.nl>
Thu, 26 Apr 2018 09:19:40 +0000 (11:19 +0200)
committerFlorian Müllner <florian.muellner@gmail.com>
Wed, 26 Feb 2020 22:46:51 +0000 (22:46 +0000)
Set the accessible states of the switcherList items by calling a
function instead of manipulating class-internal variables from outside
the class, which is considered bad practice.

The check whether the item at `_selectedIndex` exists can also be
removed since we always select a new index after an item was removed
(i.e. an app was closed) and destroy the alt-tab switcher right away if
no more items exist (see `SwitcherPopup._itemRemovedHandler`).

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/167

js/ui/altTab.js
js/ui/switcherPopup.js

index 0130fa245d379b9fc71b843a654d97f587aad25d..12b78493992128e207456a1fdc1d4b3d6b595938 100644 (file)
@@ -365,8 +365,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
             },
         });
         this._thumbnails = null;
-        if (this._switcherList._items[this._selectedIndex])
-            this._switcherList._items[this._selectedIndex].remove_accessible_state(Atk.StateType.EXPANDED);
+        this._switcherList.removeAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED);
     }
 
     _createThumbnails() {
@@ -395,7 +394,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup {
             },
         });
 
-        this._switcherList._items[this._selectedIndex].add_accessible_state(Atk.StateType.EXPANDED);
+        this._switcherList.addAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED);
     }
 });
 
index 5f2839cf2c71fa91bda8ce4dacb8bc7f6ddf4dbd..46a4b158adc62392d732264da672f079512b368d 100644 (file)
@@ -444,6 +444,14 @@ var SwitcherList = GObject.registerClass({
         this.emit('item-removed', index);
     }
 
+    addAccessibleState(index, state) {
+        this._items[index].add_accessible_state(state);
+    }
+
+    removeAccessibleState(index, state) {
+        this._items[index].remove_accessible_state(state);
+    }
+
     _onItemClicked(index) {
         this._itemActivated(index);
     }